1. Field of the Invention
The invention relates generally to digital image processing and, more particularly, to the statistical analysis of digital images for use in processing the image and for determining characteristics of objects in the image.
2. Description of the Relevant Art
Recent advances in automation utilize artificial intelligence to identify objects and to provide information relating to the position, shape, orientation, and other characteristics of the objects.
The "eye" of the artificial intelligence system is a video camera and processor that generates a digital images or frames. Each frame is comprised of pixels which are digital values assigned to unit areas of an image or frame. Typically, the pixel output from a video camera is a gray scale value indicating light intensity at a specified unit area. The location of a pixel in the frame is indicated by its x,y coordinates. The y coordinate identifies the line of the frame and the x coordinate identifies the position in the line of the pixel.
Once the "eye" of the system has formed an image the "brain" of the system must interpret the image. One method of interpreting the image is to store in memory some selected characteristics of a reference object. The video system then analyzes the video image to determine the selected characteristics of objects in the image. These determined characteristics of the objects in the image may then be compared to the stored characteristics of the reference object.
Prior to determination of object characteristics the image is converted from a gray scale to a binary image. This conversion includes statistical analysis of the image to determine a suitable threshold level. Pixels having a gray scale value above the threshold are converted to binary ones and pixels having a gray scale value below the threshold are converted to binary zeros.
For example, if the selected characteristic were the area of a reference object in the frame, then a reference value of this area is stored in memory. The determined value of the area of an object in an image is supplied to a processor. The processor then compares the areas of the referenced object and the imaged object and decides whether the objects are identical in this parameter.
In one type of system, the selected characteristics of the imaged objects are determined by statistical connectivity analysis of a binary image. The processing is performed in several stages. First, the image is subjected to connectivity analysis for identifying connected regions in the image. Each separate region is given a unique label where the labeled regions correspond to major objects in the image. Statistics pertaining to the number of pixels in a region, the positions of pixels in the region, and the number of pixels on the boundary of a region are then computed for each object separately. These statistics are utilized to determine characteristics of an object, its area (size), its centroid (center), its major axis (orientation), and its length-to-width ratio (squat? thin?). These characteristics are then used as the basis for further processing.
In another type of system, the x and y projections of an object may be compared to equivalent statistics for a referenced object.
In existing systems, an entire frame is stored in memory and the various algorithms are utilized to perform statistical measurements on the objects in the frame. Typically, a video camera generates 30 to 60 frames per second with each frame comprising over up to 250,000 or more pixels. These existing systems utilize computers to perform the statistical measurements described above. Typically these measurements take many multiples of the 1/30 sec. frame time to complete for each frame. The calculated statistics are utilized by the system processor to determine object characteristics for use in image interpretation.
The results of the image interpretation may be utilized to control an automated system. The speed of image interpretation is critical to increase the efficiency of the automated system.
In the existing statistical measurement systems described above, the image interpretation process is slow relative to the video rate of operation of the camera or "eye" of the system. These existing systems are not able to provide the statistical measurements to the system processor at the end of each frame. For example, although 30 to 60 frames could be supplied every second, it can take over a second to analyze the results of a single frame. Thus, the "brain" of the system is much slower than the "eye."
If the above-described image characterization is utilized in a control loop for an automated system, then the cycle time for the loop would be very long. The system would necessarily be very slow and of limited utility.
Accordingly, a great need exists in the artificial intelligence and video image processing arts for a system for performing statistical analysis which operates at the video rate of the video camera and provides statistical measurements at the end of each frame.